home *** CD-ROM | disk | FTP | other *** search
/ Visual Basic Source Code / Visual Basic Source Code.iso / vbsource / readwr1a / cmp3.cls
Encoding:
Visual Basic class definition  |  1999-09-17  |  3.3 KB  |  159 lines

  1. VERSION 1.0 CLASS
  2. BEGIN
  3.   MultiUse = -1  'True
  4.   Persistable = 0  'NotPersistable
  5.   DataBindingBehavior = 0  'vbNone
  6.   DataSourceBehavior  = 0  'vbNone
  7.   MTSTransactionMode  = 0  'NotAnMTSObject
  8. END
  9. Attribute VB_Name = "cMp3"
  10. Attribute VB_GlobalNameSpace = False
  11. Attribute VB_Creatable = True
  12. Attribute VB_PredeclaredId = False
  13. Attribute VB_Exposed = False
  14. Option Explicit
  15.  
  16. Private strData As String * 127
  17. Private strPath As String
  18.  
  19. Private strArtist As String
  20. Private strTitle As String
  21. Private strAlbum As String
  22. Private strYear As String
  23. Private strComment As String
  24.  
  25. Private TagCreated As Boolean
  26.  
  27. Public Sub LoadMp3File(valPath As String)
  28.             
  29.     strPath = valPath
  30.             
  31.     Open strPath For Binary As #1
  32.     Get #1, FileLen(valPath) - 127, strData
  33.     Close #1
  34.     
  35.     TagCreated = False
  36.     
  37.     If TagExists = True Then
  38.         strArtist = Mid(strData, 34, 30)
  39.         strTitle = Mid(strData, 4, 30)
  40.         strAlbum = Mid(strData, 64, 30)
  41.         strComment = Mid(strData, 98, 30)
  42.         strYear = Mid(strData, 94, 4)
  43.     Else
  44.         strArtist = ""
  45.         strTitle = ""
  46.         strAlbum = ""
  47.         strYear = ""
  48.         strComment = ""
  49.     End If
  50.     
  51. End Sub
  52.  
  53. Property Get Artist() As String
  54.     
  55.     Artist = RTrim(strArtist)
  56.         
  57. End Property
  58.  
  59. Property Get Title() As String
  60.  
  61.     Title = RTrim(strTitle)
  62.         
  63. End Property
  64.  
  65. Property Get Album() As String
  66.  
  67.     Album = RTrim(strAlbum)
  68.             
  69. End Property
  70.  
  71. Property Get Year() As String
  72.  
  73.     Year = RTrim(strYear)
  74.     
  75. End Property
  76.  
  77. Property Get Comment() As String
  78.         
  79.     Comment = RTrim(strComment)
  80.           
  81. End Property
  82.  
  83. Public Sub CloseMp3File()
  84.  
  85.     Dim ToBeWritten As String
  86.     
  87.     SetAttr strPath, vbNormal
  88.     
  89.     Open strPath For Binary As #1
  90.     
  91.     FileLen (strPath)
  92.     
  93.     ToBeWritten = "TAG"
  94.     Put #1, FileLen(strPath) - 127, ToBeWritten
  95.     
  96.     ToBeWritten = strTitle & String(30 - Len(strTitle), " ")
  97.     Put #1, FileLen(strPath) - 124, ToBeWritten
  98.     
  99.     ToBeWritten = strArtist & String(30 - Len(strArtist), " ")
  100.     Put #1, FileLen(strPath) - 94, ToBeWritten
  101.     
  102.     ToBeWritten = strAlbum & String(30 - Len(strAlbum), " ")
  103.     Put #1, FileLen(strPath) - 64, ToBeWritten
  104.     
  105.     ToBeWritten = strYear & String(4 - Len(strYear), " ")
  106.     Put #1, FileLen(strPath) - 34, ToBeWritten
  107.     
  108.     ToBeWritten = strComment & String(30 - Len(strComment), " ")
  109.     Put #1, FileLen(strPath) - 30, ToBeWritten
  110.     
  111.     Close #1
  112.     
  113.     TagCreated = True
  114.     
  115. End Sub
  116.  
  117. Public Function TagExists() As Boolean
  118.     
  119.     If InStr(strData, "TAG") >= 1 Or TagCreated = True Then
  120.         If Right(strData, Len(strData) - 3) <> String(Len(strData) - 3, " ") Then
  121.             TagExists = True
  122.             Exit Function
  123.         End If
  124.     End If
  125.     
  126.     TagExists = False
  127.     
  128. End Function
  129.  
  130. Property Let Artist(valArtist As String)
  131.      
  132.     strArtist = valArtist
  133.     
  134. End Property
  135.  
  136. Property Let Title(valTitle As String)
  137.      
  138.     strTitle = valTitle
  139.         
  140. End Property
  141.  
  142. Property Let Album(valAlbum As String)
  143.      
  144.     strAlbum = valAlbum
  145.     
  146. End Property
  147.  
  148. Property Let Year(valYear As String)
  149.      
  150.     strYear = valYear
  151.     
  152. End Property
  153.  
  154. Property Let Comment(valComment As String)
  155.      
  156.     strComment = valComment
  157.     
  158. End Property
  159.